package com.zaicheng.cloud.annotation;

import java.lang.annotation.*;

/**
 @author zaicheng
 @version 1.0
 @date 2023-08-14
 @email zzc15847256473@163.com
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Inherited
public @interface RemoteCallClient {

    /**
     * 服务名
     * @return
     */
    String  name() default "";

    /**
     * 服务名
     */
    String value() default "";

    /**
     * 服务id
     */
    String serviceId() default "";
    /**
     * 当直接指定url时，就不需要负载均衡
     */
    String url() default "";

    /**
     * 当有多个服务时，使用这个指定唯一值
     * @return
     */
    String contextId() default "";

    /**
     * 路径
     * @return
     */
    String path() default "";

    /**
     * 降级
     */
    Class<?>  fallBack() default void.class;

    /**
     * 降级工厂
     */
    Class<?> fallBackFactory() default void.class;



}
